A large number of video frames are often generated by equipment such as video cameras from an area or scene of interest. Such equipment is often used for several purposes such as security surveillance and hazards detection as is well known in the relevant arts.
It is often of interest to identify video frames (from a sequence of large number of frames), which represent the change of visual status in the area (shot) from which the sequence of frames are generated/captured. Such frames of interest are commonly referred to as key video frames.
In one prior approach, the large sequence of frames is first divided into “slots” containing a small number of frames, and a few of the frames in each slot are determined to be key video frames. In one embodiment, the first or last frame in each slot is determined to be a key video frame.
One advantage of such a prior approach is that a key frame is selected periodically (implying at least some information is present in a duration corresponding to a slot). However, sometimes the key frames may not represent only the changes of visual status, and thus unneeded frames may be presented as key video frames. As a result, a large number of frames may be determined as key video frames, necessitating the undesirable key frames to be filtered out by further processing.
In an alternative embodiment, frames (e.g., within a slot noted above) may be selected as key video frames based on the extent of movement of pixels in a current frame compared to a prior frame(s). The extent of such movement(s) may be determined using techniques such as motion vector analysis, in which the extent of movement of each pixel of an image from one position to another is computed.
One problem with such an approach is that small changes (such as a change in background shade or illumination) may cause a frame to be determined as a key video frame, and it may be desirable to ignore such small changes, thereby minimizing the number of key video frames.